﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;

namespace LectorExpediciones
{
    public class ExpedicionPallets
    {
        private Expedicion expedicion;
        private List<Pallet> listaPallets = new List<Pallet>();

        public ExpedicionPallets(Expedicion exp) {
            listaPallets = new List<Pallet>();
            expedicion = exp;
        }
        
        public void addPallet(Pallet pallet) {
            listaPallets.Add(pallet);
        }

        public void quitarPallet(string codigo)
        {            
            for (int i = 0; i < listaPallets.Count; i++)
            {
                Pallet pallet = listaPallets.ElementAt(i);
                if (pallet.getCodigo() == codigo)
                {
                    listaPallets.RemoveAt(i);
                    return;
                }
            }
        }

        public void guardar()
        {            
            limpiarRegistrosExpedicion();
           
            for (int i = 0; i < listaPallets.Count; i++)
            {
                //ERROR: siempre coge el mismo elemento, por lo que deja los demas borrados
                Pallet pallet = listaPallets.ElementAt(i);
                
                pallet.guardar(expedicion.getId());
            }
        }

        private void limpiarRegistrosExpedicion()
        {
            GestorConexion.getInstancia().borrarRegistrosLotesExpedicion(expedicion);
        }

        public void setExpedicion(Expedicion exp)
        {
            expedicion = exp;
        }

        public List<Pallet> getPallets()
        {
            return listaPallets;
        }

        public void quitarPallet(Pallet p)
        {
            for (int i = 0; i < listaPallets.Count; i++)
            {
                Pallet obj = listaPallets[i];
                if (obj.getCodigoBarras().Equals(p.getCodigoBarras()))
                    listaPallets.RemoveAt(i);
            }
            
        }
    }
}
